//
//  JSQMessagesEnum.h
//  Conversation
//
//  Created by C_HAO on 15/9/28.
//  Copyright © 2015年 CHAOO. All rights reserved.
//

#ifndef JSQMessagesEnum_h
#define JSQMessagesEnum_h

#define MaximumRecordingSeconds    60
#define MinimumRecordingSeconds    1

typedef NS_ENUM (NSInteger, JSQMessageType) {
    MESSAGE_TYPE_TEXT = 0,            // 文本
    MESSAGE_TYPE_IMAGE = 1,       // 图片
    MESSAGE_TYPE_VOICE = 2,       // 语音
    MESSAGE_TYPE_GROUP_JOIN = 3,  // 加入群消息
    MESSAGE_TYPE_GROUP_LEAVE = 4, // 离开群消息
    MESSAGE_TYPE_LOCATION = 5,    // 位置
    MESSAGE_TYPE_SOS = 6,         // SOS急救信息
};

// MMS短信状态
typedef NS_ENUM (NSInteger, JSQMessageState) {
    MESSAGE_STATE_NOTSEND = 0,           // 0:未发送（消息已经创建初始状态）
    MESSAGE_STATE_SEND_FAIL = 1,         // 1:发送失败（文本或文件发送失败）
    MESSAGE_STATE_SENT = 2,                      // 2:已发送（文本或文件发送成功）
    MESSAGE_STATE_RECEIVED = 3,          // 3:已接收（消息已经接收）
    MESSAGE_STATE_DOWNLOADING = 4,       // 4:下载中（点击下载后的状态）
    MESSAGE_STATE_DOWNLOAD_FAIL = 5, // 5:下载失败（文件下载失败）
    MESSAGE_STATE_DOWNLOADED = 6,    // 6:已下载（文件下载成功）
    MESSAGE_STATE_ARRIVED = 7,       // 7:已送达（对方已接收消息成功）
    MESSAGE_STATE_READ = 8,                  // 8:已读（用户已查看）
    MESSAGE_STATE_SENDING = 9,       // 9:发送中（用户点击发送或重发）
    MESSAGE_STATE_UNREAD = 10            // 10:未读（用户已下载但未查看）
};

typedef NS_ENUM (NSInteger, MessageClass){
    MessageNOR,   //用于标记为非定义消息
    MessagePMS,   //PUSH_MSG_TYPE_PMS
    MessageIYM,   //PUSH_MSG_TYPE_IYM
    MessageMMS,   //PUSH_MSG_TYPE_MMS
    MessageJMG,   //PUSH_MSG_TYPE_JMG
    MessageLMG,   //PUSH_MSG_TYPE_LMG
    MessageMMG,   //PUSH_MSG_TYPE_MMG
    MessageACC,   //PUSH_MSG_TYPE_ACC
    MessageADC,   //PUSH_MSG_TYPE_ADC
    MessageWAF,   //PUSH_MSG_TYPE_WAF
    MessageCAF,   //PUSH_MSG_TYPE_CAF
    MessageDLF,   //PUSH_MSG_TYPE_DLF
    MessageDLT,   //PUSH_MSG_TYPE_DLT
    MessageDLD,   //PUSH_MSG_TYPE_DLD
    MessageAMS,   //PUSH_MSG_TYPE_AMS
    MessageJGI,   //PUSH_MSG_TYPE_JGI
    MessageCJG,   //PUSH_MSG_TYPE_CJG
    MessageCNM,   //PUSH_MSG_TYPE_CNM
    MessageSBM,   //PUSH_MSG_TYPE_SBM
    MessageFAH,   //PUSH_MSG_TYPE_FAH
    MessageSOM,   //PUSH_MSG_TYPE_SOM
    MessageDDM,   //PUSH_MSG_TYPE_DDM
    MessageRSC    //PUSH_MSG_TYPE_RSC
};

typedef NS_ENUM (NSInteger, JSQMapViewType) {
    JSQMapViewTypeChoice,
    JSQMapViewTypeShow
};

typedef NS_ENUM (NSInteger, MenuType) {
    MenuTypeCollection = 1,      //收藏
    MenuTypeDelete = 1 << 1,     //删除
    MenuTypeForward = 1 << 2,    //转发
    MenuTypeCopy = 1 << 3,       //复制
    MenuTypeRefresh = 1 << 4,    //重新获取
    MenuTypeNone = 1 << 5        //无
};

// 会话的类型（0单聊，1群聊）
typedef NS_ENUM (NSInteger, SessionType) {
    SESSION_SINGLE_CHAT = 0, // 0-单聊
    SESSION_GROUP_CHAT = 1   // 1-群聊
};


#define MESSAGE_MIMETYPE_TEXT        @"text"       // text/plain (纯文本，文字消息。后面的text部分即为文字正文)
#define MESSAGE_MIMETYPE_IMAGE       @"image"      // image/png/jpeg (图片。后面的thumburl部分为缩略图，url为完整图片)
#define MESSAGE_MIMETYPE_AUDIO       @"audio"      // audio/amr/mp3 (语音短信。后面的url部分即为短信内容的URL地址)
#define MESSAGE_MIMETYPE_APPLICATION @"application"// application/pdf/msword/octet-stream (文件。后面的url部分为文件地址)
#define MESSAGE_MIMETYPE_VIDEO       @"video"      // video/mpeg/avi/asf/mov (视频片段。后面的thumburl部分为缩略图，url部分为视频地址)
#define MESSAGE_MIMETYPE_STICKER     @"sticker"    // sticker/stk/ani (大的贴图或者多帧的动画图片)
#define MESSAGE_MIMETYPE_LINK        @"link"       // link/touch (位置信息)
#define MESSAGE_MIMETYPE_SOS         @"sos"        // sos/nearby (附近的人急救信息)
#define MESSAGE_MIMETYPE_SHAREGPS    @"sharegps"   // text/sharegps (位置)





#endif /* JSQMessagesEnum_h */
